package com.ruantu.clothing.dao.pcpandian;

import com.ruantu.clothing.entity.pcpandian.PCPandianResultA;
import com.ruantu.clothing.entity.wxpandian.Pandian;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface PCPandianDao {

    /**
     * 开启新的盘点
     * @param pdid  盘点ID
     * @param pandianming 盘点名称
     * @param start_time 开启时间
     * @param jg_id 机构ID
     */
    void startNewPandian(@Param("pdid")String pdid,
                         @Param("pandianming")String pandianming,
                         @Param("start_time")String start_time,
                         @Param("jg_id")String jg_id);

    /**
     * 查询盘点记录
     * @param jg_id 机构id
     * @return
     */
    List<Pandian> selectPandianTable(@Param("jg_id")String jg_id,@Param("pdid")String pdid);



    //==========================================盘点优化============================================================================

    /* *//**
     * 当前盘点查看，包括已盘点和未盘点产品(盘点子表暂无记录)
     * @param selectText
     * @param jg_id
     * @param start
     * @param rows
     * @return
     *//*
    List<PCPandianResultA> selectNowPandianXQAndPdzbIsNull(@Param("selectText")String selectText,
                                                           @Param("jg_id")String jg_id,
                                                           @Param("start")Integer start,
                                                           @Param("rows")Integer rows);

    *//**
     * 当前盘点查看，包括已盘点和未盘点产品(盘点子表暂无记录)总数
     * @param selectText
     * @param jg_id
     * @return
     *//*
    Integer selectNowPandianXQAndPdzbIsNullCounts (@Param("selectText")String selectText,
                                            @Param("jg_id")String jg_id);
*/
    /**
     * 当前盘点查看，包括已盘点和未盘点产品(盘点子表已存在记录)
     * @param selectText
     * @param jg_id
     * @param //pdid
     * @param start
     * @param rows
     * @return
     */
    List<PCPandianResultA> selectNowPandianXQAndPdzbIsExist(@Param("selectText")String selectText,
                                                            @Param("jg_id")String jg_id,
                                                            @Param("start")Integer start,
                                                            @Param("rows")Integer rows);

    /**
     * 当前盘点查看，包括已盘点和未盘点产品(盘点子表已存在记录)总数
     * @param selectText
     * @param jg_id
     * @param //pdid
     * @return
     */
    Integer selectNowPandianXQAndPdzbIsExistCounts (@Param("selectText")String selectText,
                                                    @Param("jg_id")String jg_id);

    /**
     * 查询当前盘底是否已经存在盘点子表记录(0为没有)
     * @param //pdid
     * @return
     */
    Integer selectPdjlByPdid(@Param("jg_id")String jg_id);
    //=============================================================================================================================


    /**
     * 根据盘点ID查询本机构已盘点详情
     * @param pandian_id 盘点id
     * @param selectText 查询条件
     * @param start
     * @param rows
     * @return
     */
    List<PCPandianResultA> selectAlreadyPDXQByPdid(@Param("pandian_id")String pandian_id,
                                                   @Param("selectText")String selectText,
                                                   @Param("start")Integer start,
                                                   @Param("rows")Integer rows);

    /**
     * 根据盘点ID查询本机构已盘点数量
     * @param pandian_id 盘点id
     * @param selectText 查询条件
     * @return
     */
    Integer selectTotalCountAlreadyPDid(@Param("pandian_id") String pandian_id,@Param("selectText") String selectText);

    /**
     * 获取当前正在盘点id（用于判断当前盘点是否正在进行）
     * @param jg_id
     * @return
     */
    String selectNowPDID(@Param("jg_id")String jg_id);

    /**
     * 结束盘点——修改盘点结束时间以及状态
     * @param endime
     * @param pdid
     */
    Integer updatePandianTable(@Param("endime")String endime,
                               @Param("pdid")String pdid);

    /**
     * 结束盘点——修改库存数量
     * @param pdid
     * @return
     */
    Integer updateStoreCounts(@Param("pdid")String pdid);
}
